# @Author：silence
# @Email：792245022@qq.com
# @Date：2025/2/18 22:43

"""
1、子类继承了所有的属性和方法，非私有的属性和方法可以在子类直接访问，但是私有
    属性和方法不能在子类直接访问，要通过父类提供公共的方法去访问
    （ps: 子类对象通过 对象._类名__私有属性名 可以访问）

2、python 编程语言中，"object" 是所有其它类的基类

3、python 支持多重继承
- 继承多个基类的定义语句：
class DerivedClassName(Base1, Base2, Base3):
    属性、方法

4、在多重继承中，如果有同名的成员，遵守从左到右的继承优先级
即：写在左边的父类优先级高，写在右边的父类优先级低
"""

"""
1、如果子类和父类出现同名的成员，可以通过 父类名、super() 访问父类的成员
- 基本语法
1）访问父类成员方式1
- 访问成员变量：父类名.成员变量
- 访问成员方法：父类名.成员方法(self)

1）访问父类成员方式2
- 访问成员变量：super().成员变量
- 访问成员方法：super().成员方法()

2、子类不能直接访问父类的私有成员

3、访问不限于直接父类，而是建立 从子类向上级父类的查找关系 A -> B -> C ..

4、建议使用 super() 的方式，因为如果使用 父类名 方式，一旦父类变化，类名统一需要修改，比较麻烦

5、如果父类以及上级父类都包含 fly() 方法，那么 super(C, self).fly() - 找到 指定父类 C 的 fly 方法
"""